package com.sxj.corejava.code09_集合.Map;

import java.util.HashMap;

/**
 * @author 石小俊
 * 2024年07月25日 8:58
 */
public class Test01_HashMap {

    public static void main(String[] args) {
        HashMap<Integer, String> map = new HashMap<>();
        // 向集合中添加数据
        map.put(1, "admin");
        // 在Map集合中,不允许存在相同的key
        // 当存储时key相同,相当于做了修改操作
        // 将原有key对应的值改为了当前的值
        map.put(1, "alice");
        map.put(2, "alice");
        map.put(3, "jack");
        map.put(4, "tom");
        // 在HashMap中,理论上key与value的值均可以为null
        // 但是在实际开发中,一般不建议出现
        map.put(null, null);
        System.out.println(map);

        // 取值,根据key获取指定的value
        System.out.println("key为1的数据:" + map.get(1));
        System.out.println("key为null的数据:" + map.get(null));

        map.remove(null);
        map.remove(2);
        System.out.println(map);

        System.out.println("集合中是否包含key为1的数据:" + map.containsKey(1));
        System.out.println("集合中是否包含value为admin的数据:" + map.containsValue("admin"));
        System.out.println("集合中是否包含value为alice的数据:" + map.containsValue("alice"));

        System.out.println("集合是否为空:" + map.isEmpty());
        System.out.println("集合中键值对的数量:" + map.size());
        map.clear();
        System.out.println("集合是否为空:" + map.isEmpty());
        System.out.println(map);

    }

}
